// 用户状态信息
import { defineStore } from 'pinia'
import type { User } from '@/types/user'
import { ref } from 'vue'

export const useUserStore = defineStore(
  'cp-user',
  () => {
    // 用户信息
    const user = ref<User>()
    // 设置更新用户信息
    const setUser = (u: User) => {
      user.value = u
    }
    // 去除用户信息
    const delUser = () => {
      user.value = undefined
    }
    return {
      user,
      setUser,
      delUser
    }
  },
  // 持久化插件配置
  {
    // 所有数据持久化
    persist: true
    // 持久化存储插件其他配置
    // persist: {
    // 修改存储中使用的键名称，默认为当前 Store的 id
    // key: 'userInfo',
    // 修改为 sessionStorage，默认为 localStorage
    // storage: window.sessionStorage
    // 部分持久化状态的点符号路径数组，[]意味着没有状态被持久化
    // paths: ['user.id']
    // }
  }
)
